<!--
  ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
-->
<div include-padding="true" class="sdc-workspace-general-step">
    <div class="w-sdc-main-container-body-content-action-buttons">
        <div data-ng-if="unsavedFile && !isCreateMode() && !isViewMode()" data-tests-id="save-warning" class="unsaved-file-warning">
             <span class="sprite-new sdc-warning"></span> Click save to update to the new VSP
        </div>
        <button class="tlv-btn blue" data-ng-if="isDesigner()" data-ng-show="isGeneralView()" data-ng-class="{'disabled' : !isValidForm  || isDisableMode() || isViewMode() || isCreateMode()}"
            data-ng-click="save()" data-tests-id="create/save" tooltips tooltip-content="Save">Save</button>
        <span data-ng-if="isDesigner()" data-ng-class="{'disabled' :isDisableMode() || isViewMode() || isCreateMode()}"  ng-click="revert()" class="sprite-new revert-btn" data-tests-id="revert"
              data-ng-show="isGeneralView()" tooltips tooltip-content="Revert"></span>

    </div>
    <form novalidate class="w-sdc-form" name="editForm" validation-on-load form-to-validate="editForm">

        <div class="w-sdc-form-section-container">

            <div class="w-sdc-form-columns-wrapper">

                <div class="w-sdc-form-column">
                    <div class="upper-general-fields">
                        <div class="selected-icon-container" data-ng-class="{'show-only-on-over':'defaulticon'!=component.icon && !isViewMode()}">
                            <div class="selected-icon-inner-container ">
                                <div class="sprite-new update-component-icon" data-ng-click="updateIcon()" data-ng-if="!isViewMode() && possibleToUpdateIcon()"></div>
                                <div class="i-sdc-form-item-suggested-icon large selected-icon {{component.iconSprite}} {{component.icon}}"
                                     data-ng-class="{
                                     'disable': isViewMode() || !possibleToUpdateIcon(),
                                     'archive-component active-component-static': component.archived
                                     }"
                                     ng-model="component.icon"
                                     tooltips tooltip-content='{{component.icon | translate}}'
                                >
                                </div>
                            </div>
                        </div>
                        <div class="name-and-category-fields">
                            <!--------------------- NAME -------------------->
                            <div class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.componentName)}">
                                <label class="i-sdc-form-label required" translate="GENERAL_LABEL_NAME"></label>
                                <input class="i-sdc-form-input"
                                       data-ng-class="{'view-mode': isViewMode()}"
                                       name="componentName"
                                       data-ng-init="isCreateMode() && validateName(true)"
                                       data-ng-maxlength="50"
                                       data-ng-model="component.name"
                                       type="text"
                                       data-required
                                       data-ng-model-options="{ debounce: 500 }"
                                       data-ng-pattern="validation.componentNameValidationPattern"
                                       data-ng-disabled="component.isAlreadyCertified()"
                                       data-tests-id="name"
                                       autofocus
                                       ng-readonly="isViewMode()"
                                />

                                <div class="input-error" data-ng-show="validateField(editForm.componentName)">
                                    <span ng-show="editForm.componentName.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_NAME_REQUIRED"></span>
                                    <span ng-show="editForm.componentName.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '50' }"></span>
                                    <span ng-show="editForm.componentName.$error.minlength" translate="VALIDATION_ERROR_MIN_LENGTH" translate-values="{'min': '4' }"></span>
                                    <span ng-show="editForm.componentName.$error.nameExist" translate="NEW_SERVICE_RESOURCE_ERROR_NAME_EXISTS"></span>
                                    <span ng-show="editForm.componentName.$error.pattern" translate="VALIDATION_ERROR_INVALID_NAME"></span>
                                </div>
                            </div>
                            <!--------------------- NAME -------------------->



                            <!--------------------- CATEGORIES -------------------->
                            <div class="i-sdc-form-item"
                                 data-ng-class="{'error': validateField(editForm.category)}">
                                <loader data-display="!categories && !initCategoreis()" relative="true"></loader>
                                <label class="i-sdc-form-label required" translate="GENERAL_LABEL_CATEGORY"></label>
                                <select class="i-sdc-form-select"
                                        data-required
                                        name="category"
                                        data-ng-class="{'view-mode': isViewMode()}"
                                        data-ng-change="onCategoryChange()"
                                        data-ng-disabled="component.isAlreadyCertified() || (component.isCsarComponent() && component.selectedCategory && component.selectedCategory!=='') || isHiddenCategorySelected"
                                        data-ng-model="componentCategories.selectedCategory"
                                        data-tests-id="selectGeneralCategory"
                                >
                                    <option value="">Select category</option>
                                    <optgroup ng-if="component.isResource()" data-ng-repeat="mainCategory in categories | orderBy:['name']" label="{{mainCategory.name}}" data-tests-id="{{mainCategory.name}}">
                                        <option data-ng-repeat="subCategory in mainCategory.subcategories track by $index"
                                                data-ng-selected="componentCategories.selectedCategory === calculateUnique(mainCategory.name,subCategory.name)"
                                                data-tests-id="{{subCategory.name}}"
                                                value="{{calculateUnique(mainCategory.name, subCategory.name)}}">{{subCategory.name}}

                                        </option>
                                    </optgroup>
                                    <option ng-if="component.isService()" data-ng-repeat="mainCategory in categories | orderBy:['name']"
                                            data-ng-selected="component.selectedCategory===mainCategory.name"
                                            value="{{mainCategory.name}}"
                                            data-tests-id="{{mainCategory.name}}">{{mainCategory.name}}</option>
                                </select>

                                <div class="input-error" data-ng-show="validateField(editForm.category)">
                                    <span ng-show="editForm.category.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_CATEGORY_REQUIRED"></span>
                                </div>
                            </div>
                            <!--------------------- CATEGORIES -------------------->
                        </div>
                    </div>
                <!--------------------- RESOURCE TAGS -------------------->
                <div class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.tags)}">
                    <label class="i-sdc-form-label" translate="GENERAL_LABEL_TAGS"></label>

                    <sdc-tags form-element="editForm" element-name="tags" max-tags="20" class="i-sdc-form-item-tags"
                              sdc-disabled="isViewMode()"
                              tags="component.tags"
                              pattern="validation.tagValidationPattern"
                              special-tag="component.name"></sdc-tags>

                    <div class="input-error" data-ng-show="validateField(editForm.tags)">
                        <span ng-show="editForm.tags.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                        <span ng-show="editForm.tags.$error.nameExist" translate="NEW_SERVICE_RESOURCE_ERROR_TAG_NAME_EXIST"></span>
                    </div>
                </div>
                <!--------------------- RESOURCE TAGS -------------------->

                <!--------------------- DESCRIPTION -------------------->
                <div class="i-sdc-form-item description-field"
                     data-ng-class="{'error': validateField(editForm.description)}">
                    <label class="i-sdc-form-label required" translate="GENERAL_LABEL_DESCRIPTION"></label>
                <textarea class="description"
                          name="description"
                          data-ng-class="{'view-mode': isViewMode()}"
                          data-ng-maxlength="1024"
                          data-required
                          data-ng-model="component.description"
                          data-ng-model-options="{ debounce: 500 }"
                          data-ng-pattern="validation.commentValidationPattern"
                          data-tests-id="description"></textarea>
                    <!-- placeholder="Description here..." -->

                    <div class="input-error" data-ng-show="validateField(editForm.description)">
                        <span ng-show="editForm.description.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_DESCRIPTION_REQUIRED"></span>
                        <span ng-show="editForm.description.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '1024' }"></span>
                        <span ng-show="editForm.description.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                    </div>
                </div>
                <!--------------------- DESCRIPTION -------------------->

            </div><!-- Close w-sdc-form-column -->

                <div class="w-sdc-form-column">
                    <!--------------------- IMPORT TOSCA FILE USING BROWSE (ALSO VFC) -------------------->
                    <div class="i-sdc-form-item" ng-if="isShowFileBrowse">

                        <!-- //                                     element-disabled="{{!isCreateMode()&&!(isEditMode()&&component.resourceType=='VF')&&component.vspArchived}} || {{isViewMode()}}" -->

                        <label class="i-sdc-form-label" data-ng-class="{'required':isCreateMode() && component.resourceType !=='VF'}">{{browseFileLabel}}</label>
                        <file-upload id="fileUploadElement"
                                     class="i-sdc-form-input"
                                     element-name="fileElement"
                                     data-ng-required="false"
                                     element-disabled="{{(!isCreateMode()&&!(isEditMode()&&component.resourceType=='VF'))|| isViewMode() || component.vspArchived}}"
                                     form-element="editForm"
                                     file-model="component.importedFile"
                                     on-file-changed-in-directive="onImportFileChange"
                                     extensions="{{importedFileExtension}}"
                                     default-text="'Browse to select file'"
                                     ></file-upload>
                    </div>

                    <!--------------------- IMPORT TOSCA FILE USING ONBOARDING -------------------->
                    <div class="i-sdc-form-item" ng-if="isShowOnboardingSelectionBrowse && !isShowFileBrowse">
                            <label class="i-sdc-form-label required">VSP</label>
                            <div class="i-sdc-form-file-upload i-sdc-form-input">
                                <span class="i-sdc-form-file-name"  data-ng-disabled="component.vspArchived"  data-tests-id="filename">{{(fileModel && fileModel.filename) || importedToscaBrowseFileText }}</span>
                                <div class="i-sdc-form-file-upload-x-btn" ng-click="cancel()" data-ng-show="fileModel.filename && fileModel.filename!=='' && elementDisabled!=='true'"></div>
                                <input type="button" data-ng-class="{'disabled': !isEditMode() && component.vspArchived}" data-ng-disabled="component.vspArchived" name="fileElement" />
                                <div class="file-upload-browse-btn" data-ng-class="{'disabled': !isEditMode() && !component.vspArchived}" data-ng-click="openOnBoardingModal()" data-ng-disabled="!component.vspArchived" data-tests-id="browseButton">Browse</div>
                            </div>
                    </div>

                    <div class="input-error-file-upload"   data-ng-disabled="!component.archived"  data-ng-show="component.importedFile && (!editForm.fileElement.$valid || !component.importedFile.filename)">
                        <!-- editForm.fileElement.$error.required <== Can not use this, because the browse is done from outside for the first time -->
                        <span ng-show="!(isEditMode()&&component.resourceType=='VF')&&!component.importedFile.filename" translate="NEW_SERVICE_RESOURCE_ERROR_TOSCA_FILE_REQUIRED"></span><!-- Required -->
                        <span ng-show="editForm.fileElement.$error.maxsize" translate="VALIDATION_ERROR_MAX_FILE_SIZE"></span>
                        <span ng-show="editForm.fileElement.$error.filetype" translate="NEW_SERVICE_RESOURCE_ERROR_VALID_TOSCA_EXTENSIONS" translate-values="{'extensions': '{{importedFileExtension}}' }"></span>
                        <span ng-show="editForm.fileElement.$error.emptyFile" translate="VALIDATION_ERROR_EMPTY_FILE"></span>
                    </div>
                    <!--------------------- IMPORT TOSCA FILE -------------------->

                    <!--------------------- USER ID -------------------->
                    <div class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.contactId)}">
                    <label class="i-sdc-form-label required" translate="GENERAL_LABEL_CONTACT_ID"></label>
                    <input class="i-sdc-form-input" type="text"
                               data-ng-model="component.contactId"
                               data-ng-class="{'view-mode': isViewMode()}"
                               data-ng-required="true"
                               name="contactId"
                               data-ng-pattern="validation.contactIdValidationPattern"
                               data-ng-model-options="{ debounce: 500 }"
                               data-tests-id="contactId"
                               data-ng-maxlength="50"
                        />

                        <div class="input-error" data-ng-show="validateField(editForm.contactId)">
                            <span ng-show="editForm.contactId.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '50' }"></span>
                            <span ng-show="editForm.contactId.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_CONTACT_REQUIRED"></span>
                            <span ng-show="editForm.contactId.$error.pattern" translate="NEW_SERVICE_RESOURCE_ERROR_CONTACT_NOT_VALID"></span>
                        </div>
                    </div>
                    <!--------------------- USER ID -------------------->

                <!--------------------- VENDOR NAME -------------------->
                <div ng-if="component.isResource()" class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.vendorName)}">
                    <label class="i-sdc-form-label required" translate="GENERAL_LABEL_VENDOR_NAME"></label>
                    <input class="i-sdc-form-input" type="text"
                           data-ng-class="{'view-mode': isViewMode()}"
                           data-ng-model="component.vendorName"
                           data-ng-model-options="{ debounce: 500 }"
                           data-ng-maxlength="60"
                           data-required
                           ng-click="oldValue = component.vendorName"
                           name="vendorName"
                           data-ng-change="onVendorNameChange(oldValue)"
                           data-ng-pattern="validation.VendorNameValidationPattern"
                           data-ng-disabled="component.isAlreadyCertified() || (component.isCsarComponent() && component.vendorName && component.vendorName!=='')"
                           data-tests-id="vendorName"
                    />

                    <div class="input-error" data-ng-show="validateField(editForm.vendorName)">
                        <span ng-show="editForm.vendorName.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_VENDOR_NAME_REQUIRED"></span>
                        <span ng-show="editForm.vendorName.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '60' }"></span>
                        <span ng-show="editForm.vendorName.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                    </div>

                </div>

                <!--------------------- VENDOR NAME -------------------->

                <!--------------------- VENDOR RELEASE -------------------->
                <div ng-if="component.isResource()"
                     class="i-sdc-form-item"
                     data-ng-class="{'error': validateField(editForm.vendorRelease)}">
                    <label class="i-sdc-form-label required" translate="GENERAL_LABEL_VENDOR_RELEASE"></label>
                    <input class="i-sdc-form-input" type="text"
                           data-ng-class="{'view-mode': isViewMode()}"
                           data-ng-model="component.vendorRelease"
                           data-ng-model-options="{ debounce: 500 }"
                           data-ng-maxlength="25"
                           data-required
                           name="vendorRelease"
                           data-ng-pattern="validation.VendorReleaseValidationPattern"
                           data-ng-disabled="component.isCsarComponent() && component.vendorRelease && component.vendorRelease!==''"
                           data-tests-id="vendorRelease"
                    />

                    <div class="input-error" data-ng-show="validateField(editForm.vendorRelease)">
                        <span ng-show="editForm.vendorRelease.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_VENDOR_RELEASE_REQUIRED"></span>
                        <span ng-show="editForm.vendorRelease.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '25' }"></span>
                        <span ng-show="editForm.vendorRelease.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                    </div>
                </div>
                <!--------------------- VENDOR RELEASE -------------------->

                <!--------------------- Resource Model Number -------------------->
                <div ng-if="component.isResource()"
                     class="i-sdc-form-item"
                     data-ng-class="{'error': validateField(editForm.resourceVendorModelNumber)}">
                    <label class="i-sdc-form-label" translate="GENERAL_LABEL_RESOURCE_MODEL_NUMBER"></label>
                    <input class="i-sdc-form-input" type="text"
                           data-ng-class="{'view-mode': isViewMode()}"
                           data-ng-model="component.resourceVendorModelNumber"
                           data-ng-model-options="{ debounce: 500 }"
                           data-ng-maxlength="65"
                           name="resourceVendorModelNumber"
                           data-ng-pattern="validation.VendorModelNumberValidationPattern"
                           data-tests-id="resourceVendorModelNumber"
                    />

                    <div class="input-error" data-ng-show="validateField(editForm.resourceVendorModelNumber)">
                        <span ng-show="editForm.resourceVendorModelNumber.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '65' }"></span>
                        <span ng-show="editForm.resourceVendorModelNumber.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                    </div>
                </div>
                <!--------------------- Resource Model Number -------------------->

                <!--------------------- ECOMPGENERATEDNAMING -------------------->

                    <div class="i-sdc-form-item"
                         data-ng-class="{'error': validateField(editForm.ecompGeneratedNaming)}"
                         data-ng-if="component.isService()">
                        <label class="i-sdc-form-label">Generated Naming</label>
                        <select class="i-sdc-form-select"
                                data-required
                                name="ecompGeneratedNaming"
                                data-ng-change="onEcompGeneratedNamingChange()"
                                data-ng-class="{'view-mode': isViewMode()}"
                                data-ng-model="component.ecompGeneratedNaming"
                                data-tests-id="ecompGeneratedNaming">
                            <option ng-value="true">true</option>
                            <option ng-value="false">false</option>
                        </select>
                        <div class="input-error" data-ng-show="validateField(editForm.ecompGeneratedNaming)">

                        </div>
                    </div>
                    <!--------------------- CATEGORIES -------------------->

                    <!--------------------- NAMING POLICY  -------------------->
                    <div ng-if="component.isService()" class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.namingPolicy)}">
                        <label class="i-sdc-form-label">Naming Policy</label>
                        <input class="i-sdc-form-input"
                               name="namingPolicy"
                               data-ng-class="{'view-mode': isViewMode() || !component.ecompGeneratedNaming}"
                               data-ng-maxlength="100"
                               data-ng-model="component.namingPolicy"
                               type="text"
                               data-ng-model-options="{ debounce: 500 }"
                               data-ng-pattern="validation.commentValidationPattern"
                               data-tests-id="namingPolicy"
                               autofocus
                               ng-readonly="isViewMode() || !component.ecompGeneratedNaming"
                        />

                        <div class="input-error" data-ng-show="validateField(editForm.namingPolicy)">
                            <span ng-show="editForm.namingPolicy.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '100' }"></span>
                            <span ng-show="editForm.namingPolicy.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                        </div>
                    </div>
                    <!--------------------- NAMING POLICY  -------------------->

                    <!--------------------- Service Type -------------------->
                    <div ng-if="component.isService()"
                         class="i-sdc-form-item"
                         data-ng-class="{'error': validateField(editForm.serviceType)}">
                        <label class="i-sdc-form-label" translate="GENERAL_TAB_LABEL_SERVICE_TYPE"></label>
                        <input class="i-sdc-form-input" type="text"
                               data-ng-class="{'view-mode': isViewMode()}"
                               data-ng-model="component.serviceType"
                               data-ng-model-options="{ debounce: 500 }"
                               name="serviceType"
                               data-tests-id="serviceType"
                               data-ng-maxlength="256"
                               data-ng-pattern="validation.ServiceTypeAndRoleValidationPattern"
                        />
                        <div class="input-error" data-ng-show="validateField(editForm.serviceType)">
                            <span ng-show="editForm.serviceType.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
                            <span ng-show="editForm.serviceType.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                        </div>
                    </div>
                    <!--------------------- Service Type -------------------->

                    <!--------------------- Service Role -------------------->
                    <div ng-if="component.isService()"
                         class="i-sdc-form-item"
                         data-ng-class="{'error': validateField(editForm.serviceRole)}">
                        <label class="i-sdc-form-label" translate="GENERAL_TAB_LABEL_SERVICE_ROLE"></label>
                        <input class="i-sdc-form-input" type="text"
                               data-ng-class="{'view-mode': isViewMode()}"
                               data-ng-model="component.serviceRole"
                               data-ng-model-options="{ debounce: 500 }"
                               name="serviceRole"
                               data-tests-id="serviceRole"
                               data-ng-maxlength="256"
                               data-ng-pattern="validation.ServiceTypeAndRoleValidationPattern"
                        />
                        <div class="input-error" data-ng-show="validateField(editForm.serviceRole)">
                            <span ng-show="editForm.serviceRole.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
                            <span ng-show="editForm.serviceRole.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                        </div>
                    </div>
                    <!--------------------- Service Role -------------------->

                    <!--------------------- Service Function -------------------->
                    <div ng-if="component.isService()"
                         class="i-sdc-form-item"
                         data-ng-class="{'error': validateField(editForm.serviceFunction)}">
                        <label class="i-sdc-form-label" translate="GENERAL_TAB_LABEL_SERVICE_FUNCTION"></label>
                        <input class="i-sdc-form-input" type="text"
                               data-ng-class="{'view-mode': isViewMode()}"
                               data-ng-model="component.serviceFunction"
                               data-ng-model-options="{ debounce: 500 }"
                               name="serviceFunction"
                               data-tests-id="serviceFunction"
                               data-ng-maxlength="256"
                               data-ng-pattern="validation.ServiceTypeAndRoleValidationPattern"
                        />
                        <div class="input-error" data-ng-show="validateField(editForm.serviceFunction)">
                            <span ng-show="editForm.serviceFunction.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
                            <span ng-show="editForm.serviceFunction.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
                        </div>
                    </div>
                    <!--------------------- Service Function -------------------->

                    <!-------------------- ENVIRONMENT CONTEXT  ----------------->

                    <div  ng-if="component.isService()" class="i-sdc-form-item">
                        <loader data-display="!environmentContextObj && !initEnvironmentContext()" relative="true"></loader>
                        <label class="i-sdc-form-label">Environment Context</label>
                        <select class="i-sdc-form-select"
                                name="environmentContext"
                                data-ng-class="{'view-mode': isViewMode()}"
                                data-ng-model="component.environmentContext"
                                data-tests-id="environmentContext"
                        >
                            <option data-ng-repeat="environmentContextVal in (environmentContextObj.validValues) | orderBy"
                                    value="{{environmentContextVal}}"
                                    data-tests-id="{{environmentContextVal}}">{{environmentContextVal}}</option>
                        </select>

                    </div>
                    <!--------------------- ENVIRONMENT CONTEXT ------------------>

                    <!--------------------- Instantiation Type -------------------->
                    <div class="i-sdc-form-item" data-ng-if="component.isService() && instantiationTypes">
                        <label class="i-sdc-form-label">Instantiation Type</label>
                        <select class="i-sdc-form-select"
                                name="instantiationType"
                                data-ng-class="{'view-mode': isViewMode()}"
                                data-ng-disabled="component.isCsarComponent()"
                                data-ng-model="component.instantiationType"
                                data-tests-id="selectInstantiationType">
                        <option ng-repeat="type in instantiationTypes">{{type}}</option>

                        </select>
                    </div>

                    <!--------------------- Instantiation Type -------------------->

                    <div class="meta-data" data-ng-if="component.creationDate">
                        <div>
                            <b>Created:</b>
                        </div>
                        <div class="meta-data-item-value">{{component.creationDate | date:'MM/dd/yyyy'}}, {{component.creatorFullName}}</div>
                        <div>
                            <b>Modifed:</b>
                        </div>
                        <div class="meta-data-item-value">
                            {{component.lastUpdateDate | date:'MM/dd/yyyy'}}
                        </div>
                        <div>
                            <b>UUID:</b>
                        </div>
                        <div class="meta-data-item-value">
                            {{component.uuid}}
                        </div>
                        <div>
                            <b>Invariant UUID:</b>
                        </div>
                        <div class="meta-data-item-value">
                            {{component.invariantUUID}}
                        </div>
                    </div>
                </div><!-- Close w-sdc-form-column -->
            </div>

        </div><!-- Close w-sdc-form-section-container -->

    </form>
</div>
